package com.ruoyi.db.domain.system;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户申请提现记录对象 mp_cash_apply
 * 
 * @author ruoyi
 * @date 2022-07-23
 */
@ApiModel(value = "MpCashApply",description = "用户申请提现记录对象 mp_cash_apply")
public class MpCashApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 提现申请记录表主键 */


    /** 商城用户ID */
    @ApiModelProperty(value="商城用户ID",name="MpCashApply$clientId")
    private Long clientId;

    /** 申请金额 */


    /** $column.columnComment */
    @ApiModelProperty(value="申请时间",name="MpCashApply$applyTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyTime;

    /** 审批状态 */
    @ApiModelProperty(value="审批状态",name="MpCashApply$approvalStatus")
    private String approvalStatus;

    /** 审批时间 */
    @ApiModelProperty(value="审批时间",name="MpCashApply$approvalTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date approvalTime;

    /** 拒绝原因 */
    @ApiModelProperty(value="拒绝原因",name="MpCashApply$refuseReason")
    private String refuseReason;

    /** 操作人 */
    @ApiModelProperty(value="操作人",name="MpCashApply$optUser")
    private String optUser;

    /** 商城用户ID */
    @ApiModelProperty(value="用户银行ID",name="MpCashApply$clientBankId")
    private Long clientBankId;

    public Long getClientBankId() {
        return clientBankId;
    }

    public void setClientBankId(Long clientBankId) {
        this.clientBankId = clientBankId;
    }

    private String clientName;
    private String bankName;
    private String bankAddress;

    private String teamLevel;

    //提现方式，1.金藻手续费，2.银藻
    private Integer type;

    public BigDecimal getGoldCashAmount() {
        return goldCashAmount;
    }

    public void setGoldCashAmount(BigDecimal goldCashAmount) {
        this.goldCashAmount = goldCashAmount;
    }

    public BigDecimal getTaxAmount() {
        return taxAmount;
    }

    public void setTaxAmount(BigDecimal taxAmount) {
        this.taxAmount = taxAmount;
    }

    private  BigDecimal goldCashAmount;

    public BigDecimal getSilverCashAmount() {
        return silverCashAmount;
    }

    public void setSilverCashAmount(BigDecimal silverCashAmount) {
        this.silverCashAmount = silverCashAmount;
    }

    private  BigDecimal silverCashAmount;
    private  BigDecimal taxAmount;




    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }
    @Excel(name = "姓名")
    private String bankAccountName;
    @Excel(name = "身份证号")
    private String idNumber;
    @Excel(name = "手机号")
    private String clientMobile;
    @Excel(name = "接单金额")
    private BigDecimal applyAmount;
    @Excel(name = "银行卡号")
    private String bankNumber;
    @Excel(name = "备注")
    private String remark;
    @Excel(name = "客户订单号")

    private Long cashApplyId;

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    private String startTime;
    private String endTime;

    public String getClientMobile() {
        return clientMobile;
    }

    public void setClientMobile(String clientMobile) {
        this.clientMobile = clientMobile;
    }


    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }


    public String getTeamLevel() {
        return teamLevel;
    }

    public void setTeamLevel(String teamLevel) {
        this.teamLevel = teamLevel;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankAddress() {
        return bankAddress;
    }

    public void setBankAddress(String bankAddress) {
        this.bankAddress = bankAddress;
    }

    public String getBankNumber() {
        return bankNumber;
    }

    public void setBankNumber(String bankNumber) {
        this.bankNumber = bankNumber;
    }

    public String getBankAccountName() {
        return bankAccountName;
    }

    public void setBankAccountName(String bankAccountName) {
        this.bankAccountName = bankAccountName;
    }

    public void setCashApplyId(Long cashApplyId) 
    {
        this.cashApplyId = cashApplyId;
    }

    public Long getCashApplyId() 
    {
        return cashApplyId;
    }
    public void setClientId(Long clientId) 
    {
        this.clientId = clientId;
    }

    public Long getClientId() 
    {
        return clientId;
    }
    public void setApplyAmount(BigDecimal applyAmount) 
    {
        this.applyAmount = applyAmount;
    }

    public BigDecimal getApplyAmount() 
    {
        return applyAmount;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setApprovalStatus(String approvalStatus) 
    {
        this.approvalStatus = approvalStatus;
    }

    public String getApprovalStatus() 
    {
        return approvalStatus;
    }
    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }
    public void setRefuseReason(String refuseReason) 
    {
        this.refuseReason = refuseReason;
    }

    public String getRefuseReason() 
    {
        return refuseReason;
    }
    public void setOptUser(String optUser) 
    {
        this.optUser = optUser;
    }

    public String getOptUser() 
    {
        return optUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("cashApplyId", getCashApplyId())
            .append("clientId", getClientId())
            .append("applyAmount", getApplyAmount())
            .append("applyTime", getApplyTime())
            .append("approvalStatus", getApprovalStatus())
            .append("approvalTime", getApprovalTime())
            .append("refuseReason", getRefuseReason())
            .append("optUser", getOptUser())
            .toString();
    }
}
